﻿using Basic.FormModel.DB;
using Basic.FormModel.FormViewCol;
using Basic.FormRemoteModel.Form.Model;

namespace Basic.FormCollect
{
    public interface IFormViewColCollect
    {
        long Add ( FormViewColAdd add );
        bool CheckIsExists ( long formId, string[] col );
        void Delete ( DBFormViewCol source );
        DBFormViewCol Get ( long id );
        Result Get<Result> ( long id ) where Result : class, new();
        Result[] Gets<Result> ( long[] ids ) where Result : class, new();
        Result[] GetsByFormId<Result> ( long formId ) where Result : class, new();
        Result[] GetsByFormId<Result> ( long formId, FormGetParam param ) where Result : class, new();
        bool Set ( DBFormViewCol sour, FormViewColSet data );
        Result[] Adds<Result> ( FormViewColAdd[] data ) where Result : class, new();
        Result[] Sync<Result> ( long formId, FormViewColAdd[] data ) where Result : class, new();
    }
}